<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RESTFul测试</title>
<!-- jquery lib -->
<script
	src="${basePath}commentResources/jquery-1.12.4/jquery-1.12.4.min.js"></script>
<script type="text/javascript">

	function doRESTFul_GET_ALL() {
		$.ajax({
			type : "GET", // 请求的类型 get/post
			url : "${basePath}stu/", // 服务器url
			dataType : "json", // 服务器返回的数据类型
			//data : $("#myForm").serialize(),
			success : function(data) { // 成功之后的回调函数
				// 调用分页插件的分页的行为方法
				console.info("doRESTFul_GET_ALL-data:");
				console.info(data);
				// 当查询数据不为空的时候进行分页处理
				if (data != null && data.length > 0) {
					// 信息显示
					$("#showMsg").html(JSON.stringify(data));
				} else {
					// 查询结果集为空时，情况显示的table内容
					$("#showMsg").html("");
				}
			}
		});
	}
	
	function doRESTFul_GET_ID() {
		$.ajax({
			type : "GET", // 请求的类型 get/post
			url : "${basePath}stu/17", // 服务器url
			dataType : "json", // 服务器返回的数据类型
			//data : $("#myForm").serialize(),
			success : function(data) { // 成功之后的回调函数
				// 调用分页插件的分页的行为方法
				console.info("doRESTFul_GET_ID-data:");
				console.info(data);
				// 当查询数据不为空的时候进行分页处理
				if (data != null) {
					// 信息显示
					$("#showMsg").html(JSON.stringify(data));
				} else {
					// 查询结果集为空时，情况显示的table内容
					$("#showMsg").html("");
				}
			}
		});
	}
	
	// 公用的json变量
	var jsonData = {
		'stuId' : 17,
		'stuName' : 'stu30',
		'stuSex' : '女',
		'stuBirthday' : '2017-08-18 11:57:43',
		'stuBirthday2' : '2017-08-19 11:57:43',
		'stuAddress' : '天津理工0008',
		'stuTel' : '18812888800',
		'stuImg' : 'commentResources/uploadfiles/stuImgs/stuImg_6cdca628-625f-49f0-94a8-9162ab0d1ff3.jpg',
		'stuDepartment' : 2,
		'isdeleted' : 0
	};
	function doRESTFul_POST_ADD() {
		$.ajax({
			type : "POST", // 请求的类型 get/post
			url : "${basePath}stu/", // 服务器url
			dataType : "json", // 服务器返回的数据类型
			contentType : "application/json",// 发送数据类型（ 发送信息至服务器时内容编码类型）
			//data : $("#myForm").serialize(),
			data : JSON.stringify(jsonData),			
			success : function(data) { // 成功之后的回调函数
				
				// 调用分页插件的分页的行为方法
				console.info("doRESTFul_POST_ADD-data:");
				console.info(data);
				// 当查询数据不为空的时候进行分页处理
				if (data != null) {
					// 信息显示
					$("#showMsg").html(JSON.stringify(data));
				} else {
					// 查询结果集为空时，情况显示的table内容
					$("#showMsg").html("");
				}
			},
			// 请求完成后回调函数 (请求成功或失败之后均调用)。
			complete:function(XHR, TS){//含有量参数(XMLHttpRequest, textStatus)
				
				// 调试内容
				console.info("xmlHttpRequest-XHR:");
				console.info(XHR);
				console.info("xmlHttpRequest-TS:");
				console.info(TS);
				console.info("xmlHttpRequest-this:");
				console.info(this);
				console.info("===============");
				// 获取相关Http Response header
		        var hinfo = {
		            // 服务器端时间
		            "date" : XHR.getResponseHeader('Date'),
		            // 如果开启了gzip，会返回这个东西
		            "contentEncoding" : XHR.getResponseHeader('Content-Encoding'),
		            // keep-alive? close?
		            "connection" : XHR.getResponseHeader('Connection'),
		            // 响应长度
		            "contentLength" : XHR.getResponseHeader('Content-Length'),
		            // 服务器类型，apache? lighttpd?
		            "server" : XHR.getResponseHeader('Server'),
		            "vary" : XHR.getResponseHeader('Vary'),
		            "transferEncoding" : XHR.getResponseHeader('Transfer-Encoding'),
		            // text/html? text/xml?
		            "contentType" : XHR.getResponseHeader('Content-Type'),
		            "cacheControl" : XHR.getResponseHeader('Cache-Control'),
		            // 生命周期?
		            "exprires" : XHR.getResponseHeader('Exprires'),
		            "lastModified" : XHR.getResponseHeader('Last-Modified'),
		            // 获取location信息
		            "location":XHR.getResponseHeader('location')
		        };
				console.info("获取xmlhttprequest对象的状态信息：");
		        console.info(XHR.statusText);
				console.info("response-hedder:")
				console.info(XHR.getAllResponseHeaders());
				console.info("========xhr=======");
				console.info(hinfo)
				// 调试内容结束
				// 获取location信息（此处内容从后台发送过来的）
				var myLocation = XHR.getResponseHeader('location');
				console.info(myLocation);
				// 显示新增的数据
				if(myLocation != null){
					// 调用get方式获取对象内容
					$.get(myLocation, function(data){
						if (data != null) {
							// 信息显示
							$("#showMsg").html(JSON.stringify(data));
						} else {
							// 查询结果集为空时，情况显示的table内容
							$("#showMsg").html("");
						}
					});
				}
			}
		});
	}

	function doRESTFul_PUT_ID() {
		$.ajax({
			type : "PUT", // 请求的类型 get/post
			url : "${basePath}stu/17", // 服务器url
			dataType : "json", // 服务器返回的数据类型
			contentType : "application/json",// 发送数据类型（ 发送信息至服务器时内容编码类型）
			//data : $("#myForm").serialize(),
			data : JSON.stringify(jsonData),
			success : function(data) { // 成功之后的回调函数
				// 调用分页插件的分页的行为方法
				console.info("doRESTFul_PUT_ID-data:");
				console.info(data);
				// 当查询数据不为空的时候进行分页处理
				if (data != null) {
					// 信息显示
					$("#showMsg").html(JSON.stringify(data));
				} else {
					// 查询结果集为空时，情况显示的table内容
					$("#showMsg").html("");
				}
			}
		});
	}

	function doRESTFul_DELETE_ID() {
		$.ajax({
			type : "DELETE", // 请求的类型 get/post/delete/put
			url : "${basePath}/stu/17", // 服务器url
			dataType : "json", // 服务器返回的数据类型
			//data : $("#myForm").serialize(),
			success : function(data) { // 成功之后的回调函数
				// 调用分页插件的分页的行为方法
				console.info("doRESTFul_DELETE_ID-data:");
				console.info(data);
				// 当查询数据不为空的时候进行分页处理
				if (data != null) {
					// 信息显示
					$("#showMsg").html(JSON.stringify(data));
				} else {
					// 查询结果集为空时，情况显示的table内容
					$("#showMsg").html("");
				}
			}
		});
	}

	function doRESTFul_DELETE_ALL() {
		$.ajax({
			type : "DELETE", // 请求的类型 get/post
			url : "${basePath}/stu/", // 服务器url
			dataType : "json", // 服务器返回的数据类型
			//data : $("#myForm").serialize(),
			success : function(data) { // 成功之后的回调函数
				// 调用分页插件的分页的行为方法
				console.info("doRESTFul_DELETE_ALL-data:");
				console.info(data);
				// 当查询数据不为空的时候进行分页处理
				if (data != null) {
					// 信息显示
					$("#showMsg").html(JSON.stringify(data));
				} else {
					// 查询结果集为空时，情况显示的table内容
					$("#showMsg").html("");
				}
			}
		});
	}
</script>
</head>
<body>
	<input type="button" value="RestFul_Get_All"
		onclick="doRESTFul_GET_ALL() ">
	&nbsp;&nbsp;
	<input type="button" value="RestFul_Get_Id"
		onclick="doRESTFul_GET_ID() ">	
	&nbsp;&nbsp;
	<input type="button" value="RestFul_POST_ADD"
		onclick="doRESTFul_POST_ADD() ">	
		&nbsp;&nbsp;
	<input type="button" value="RESTFul_PUT_ID"
		onclick="doRESTFul_PUT_ID() ">	
		&nbsp;&nbsp;
	<input type="button" value="RESTFul_DELETE_ID"
		onclick="doRESTFul_DELETE_ID() ">	
		&nbsp;&nbsp;
	<input type="button" value="RESTFul_DELETE_ALL"
		onclick="doRESTFul_DELETE_ALL() ">		
	<hr>
	<div id="showMsg"></div>
</body>
</html>